Welcome to pandas!

3.13 极值统计

Excel中的极大值是large()函数,极小值是small()函数,是统计是统一第几个最大值,最小值。而pandas中对应的是nlargest()和nsmallest()函数,是统计前几个最大,最小值。

极值 函数及参考

极大值 n.nlargest(n,keep=”first”)

n.nlsmallest(n,keep=”first”)

下面解释一下对应的几个参数含义

n 指定极值的个数

keep 参数分别有first,last,all三个值,


import pandas as pd

s=pd.Series([ 45,65,65,98,76,50 ]) #如果第二大有两个,则不会返回四个,如果第三大有两个,则会返回四个

print (s.nlargest( 3 ))

print (s.nlargest( 3 , keep = "first" ))

print (s.nlargest( 3, keep = "all" ))

print (s.nsmallest( 3 ))

返回:

3 98
4 76
1 65

dtype: int64


3 98
4 76
1 65

dtype: int64


3 98
4 76
1 65
2 65

dtype: int64


0 45
5 50
1 65

dtype: int64


import pandas as pd

df=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\测试素材.考试成绩.逻辑统计.xlsx" )

t1=df.nlargest( 3 ,[ "数学","语文" ])

df[ "总分" ]=df.iloc[:, 1 :].sum( axis = 1 )

t2=df.nlargest( 3 ,[ "总分" ])

print (df)

print (t1)

print (t2)

返回:

姓名 数学 语文 英语 总分
0 小明 85.5 99 84 268.5
1 小张 96.0 100 34 230.0
2 小王 93.0 55 76 224.0
3 小李 88.5 95 99 282.5
4 小四 90.0 99 73 262.0
5 小管 100.0 66 65 231.0

姓名 数学 语文 英语
5 小管 100.0 66 65
1 小张 96.0 100 34
2 小王 93.0 55 76

姓名 数学 语文 英语 总分
3 小李 88.5 95 99 282.5
0 小明 85.5 99 84 268.5
4 小四 90.0 99 73 262.0